package com.bzkj.basicinfo.service.outbound;

import com.bzkj.basicinfo.domain.warehouse.PdaWarehouseOutBillsList;
import com.bzkj.common.core.page.TableDataInfo;

/**
 * WMS出库单Service接口
 *
 * @author system
 * @date 2025-10-22
 */
public interface WmsOutboundOrderService {

    /**
     * 查询出库单列表（分页）
     */
    TableDataInfo getOutboundOrderList(PdaWarehouseOutBillsList entity, Integer pageNum, Integer pageSize);

    /**
     * 查询出库单详情（包含明细）
     */
    PdaWarehouseOutBillsList getOutboundOrderDetail(String billsId);

    /**
     * 新增出库单
     */
    int createOutboundOrder(PdaWarehouseOutBillsList entity);

    /**
     * 更新出库单
     */
    int updateOutboundOrder(PdaWarehouseOutBillsList entity);

    /**
     * 删除出库单
     */
    int deleteOutboundOrder(String billsId);

    /**
     * 复核确认
     */
    int checkConfirm(String billsId, String checker);

    /**
     * 发货确认
     */
    int shipConfirm(String billsId, String shipper);

    /**
     * 取消出库单
     */
    int cancelOutboundOrder(String billsId, String reason);
}
